草庐IT

sql - Sum on a left join SQL

全部标签

sql - 排序行时优化 Hive GROUP BY

我有以下(非常简单的)Hive查询:selectuser_id,event_id,min(time)asstart,max(time)asend,count(*)astotal,count(interaction==1)asclicksfromevents_allgroupbyuser_id,event_id;表格结构如下:user_idevent_idtimeinteractionEx833Lli36nxTvGTA1DvjuCUv6EnkVundBHSBzQevw14304815302950Ex833Lli36nxTvGTA1DvjuCUv6EnkVundBHSBzQevw14304

sql - 错误 :Invalid table alias or column reference while using map in Hive

我正在执行以下配置单元查询:createorreplaceviewtest.hospasselectp.hosp_id,p.hosp_name,max(casewhen`p.my_map[1].id`isNULLthen1else0end)ashos_main_idfromarch.hospitalgroupbyp.hosp_id,p.hosp_name,p.my_map[1].id;Error:Invalidtablealiasorcolumnreference'p.my_map[1].id'.有map名称my_map>,那为什么我仍然收到错误消息:Error:Invalidtabl

sql - Teradata 和 HIVE 之间的字符串匹配差异

我正在进入Hive并学习Hive。我在teradata中有客户表,使用sqoop在hive中提取完整表,效果很好。请参阅下面的Teradata和HIVE客户表。在Teradata中:selectTOP4id,name,'"'||status||'"'fromcustomer;3172460Customer#003172460"BUILDING"3017726Customer#003017726"BUILDING"2817987Customer#002817987"COMPLETE"2817984Customer#002817984"BUILDING"在HIVE中:selectid,na

sql - 在 hdfs 中存储关系数据的最佳方式

最近我阅读了很多关于hadoop的文章,我可以说我理解它的一般概念,但仍然(至少)有一block拼图我无法理解。在hdfs中存储关系数据的最佳方式是什么。首先,我知道hadoop的存在无法替代为我的应用程序提供服务的传统好旧sql数据库。我在这里面临的问题是我想使用hadoop将来自多个系统的数据聚合到hdfs中。然后我可以将来自多个系统的数据交叉引用在一起,然后生成我的报告工具等使用的新数据集。好吧,那么,我应该使用一个表将表数据导入一个文件,还是应该导入连接表的查询结果。例如:SQLtables:Person:PersonIDNameBirthdaySexCompany:Compa

azure - 在 Azure SQL 数据仓库中使用 Polybase 技术,我可以查询以 parquet Hadoop 格式存储的数据吗?

借助AzureSQL数据仓库中的Polybase技术,我是否可以查询以parquetHadoop格式存储的数据?感谢您的帮助。 最佳答案 目前,PolyBase不支持ApacheParquet。它在PolyBase内实现的路线图上,因为它允许用户利用Hadoop中类似于SQLDW中的柱状数据结构。感谢John提出的问题-我会将其添加到我们正在跟踪的功能请求中。更新:读写Parquet文件是nowsupported. 关于azure-在AzureSQL数据仓库中使用Polybase技术,我

sql - Hive - Concat 字符串与行数据

我正在尝试使用Hive将字符串与表中的数据行连接起来。在SQL中看起来像这样SELECT'Select*from'+[Column]+';'FROMtable_nameORDERBY[table_name]结果应该是-SELECT*FROMabc;从asd中选择*;选择*从xyz..无法在Hive命令中编写或找到与此相关的内容。 最佳答案 使用concat()函数:'SELECTconcat('Select*from',[table_name],';')FROMyour_tableORDERBY[table_name]'如果[tab

sql - 从时间戳格式 "25/Nov/2016:15:48:01 +0000' 中检索月份

我目前正在使用HiveSQL,并且我在表格中有“timestamp”列,格式为"25/Nov/2016:15:48:01+0000"。如何在不使用SUBSTRING()函数的情况下从上述格式中提取“Nov”月份。我试过了,SELECTMONTH(timestamp)FROMtable_name;但它返回为空。从上述时间戳格式中检索“11月”月份的正确方法应该是什么。 最佳答案 请看下面example..unix_timestamp(time,'dd/MMM/yyyy:HH:mm:ss')然后试试你的月份函数或首先将您的时间戳转换为字

hadoop - 使用 Spark Sql 查询 hdfs

我在hdfs中有一个csv文件,我如何用sparkSQL查询这个文件?例如我想对特殊列进行选择请求并将结果再次存储到Hadoop分布式文件系统谢谢 最佳答案 可以通过创建Dataframe来实现。valdataFrame=spark.sparkContext.textFile("examples/src/main/resources/people.csv").map(_.split(",")).map(attributes=>Person(attributes(0),attributes(1).trim.toInt)).toDF()

sql - Hive 复杂类型来处理一对多关系

如何使用Hive复杂类型处理一对多关系?例如,给定两个表:artist:artist_id,first_name,last_namesong:song_id,song_name,song_date,artist_id如何编写hiveql或sql以将歌曲集合包含到独特的艺术家中,即例如112,drew,jackson,{10:[hill,1992],13:[away,2011],....}113,maria,mcmillan,{25:[denial,2000],26:[fly,1990],....} 最佳答案 selecta.arti

hadoop - pyspark.sql.utils.AnalysisException : u'Path does not exist

我正在使用标准的hdfs运行amazonemr的spark作业,而不是S3来存储我的文件。我在hdfs://user/hive/warehouse/中有一个配置单元表,但在运行我的spark作业时找不到它。我配置了spark属性spark.sql.warehouse.dir以反射(reflect)我的hdfs目录的属性,而yarn日志确实显示:17/03/2819:54:05INFOSharedState:Warehousepathis'hdfs://user/hive/warehouse/'.稍后在日志中说(页面末尾的完整日志):LogType:stdoutLogUploadTime